
// nodejs是一个基于谷歌v8引擎的js运行环境
// nodejs可以让js运行在服务端
// 主要特征：单线程、非阻塞I/O（异步I/O）、事件驱动

// npm包管理工具
// npm可以帮我们管理项目中包的版本和依赖关系

// npm常用命令：
// npm init -y  初始化项目，生成package.json文件

// npm install 包名 --global  全局安装依赖包
// npm i 包名 -g  全局安装依赖包

// npm install 包名  安装项目依赖
// npm install 包名 --save  安装项目依赖
// npm install 包名 -save  安装项目依赖
// npm i 包名 -S  安装项目依赖

// npm install 包名 --save-dev  安装开发依赖
// npm install 包名 -save-dev  安装开发依赖
// npm i 包名 -D  安装开发依赖

// npm install  安装项目所有依赖包
// npm i  安装项目所有依赖包

// npm i 包名  默认安装最新版本
// npm i 包名@2  默认安装大版本为2的包
// npm i 包名@2.6.2  默认安装固定版本的包

// npm uninstall 包名  删除某个包
// npm update 包名  更新某个包

// 定义脚本命令
// 在package.json文件中的scripts字段配置
// "scripts": {
//     "hehe": "node hehe.js"
// }
// 执行：npm run hehe


// yarn包管理工具
// npm i yarn -g  全局安装yarn
// yarn -v  查看版本

// yarn init -y  初始化项目，生成package.json文件
// yarn add 包名 -S 安装项目依赖
// yarn add 包名 -D 安装开发依赖
// yarn add 包名 -g 安装全局依赖
// yarn  安装所有依赖包
// yarn install  安装所有依赖包
// yarn remove 包名  删除某个包
// yarn upgrade 包名  更新某个包

// 定义脚本命令
// "scripts": {
//     "test": "node test.js"
// }
// 执行：yarn run test


// 在nodejs中执行js脚本：
// 1.执行 node 命令进入交互模式，ctrl+c两次
// 2.执行 node xxx.js 执行某个js脚本

// nrm管理npm下资源地址的工具
// npm i nrm -g  全局安装nrm
// nrm ls 查看所有下载源
// nrm test xxx  测试某个下载源的响应速度
// nrm use xxx  切换到某个下载源地址


// 模块化
// 一个js文件就是一个模块，每一个模块拥有独立的作用域
// 将一个大程序拆分为多个小程序（模块），可以更灵活的组合使用

// nodejs程序由各种模块组成：
// 1.自定义模块
// 2.第三方模块
// 3.内置模块

// commonjs模块化规范
// nodejs中使用commonjs模块化规范
// commonjs模块化规范用于服务端，是同步加载执行

// require()方法，用于加载模块功能
// require加载到的是某个模块的module.exports数据

// 每一个模块内部都有一个module对象，包含当前模块相关信息
// console.log( module );// {...}
// console.log( module.exports );// {}模块对外暴露的内容
// module.exports = {name,age,sex}

// let exports = module.exports; 隐藏关系
// exports.name = '张三';
// exports.age = 23;
// exports.sex = '男';

